1. Field of the Invention
The present invention relates to a program development apparatus, a method for developing a program, and a computer program product for executing an application for a program development apparatus, for developing an application program to be executed by a processor configured to allow a user to extend specifications including processor architecture or instruction set.
2. Description of the Related Art
A processor configured to allow a user to extend specifications including processor architecture or instruction set has been released in recent years. By using the extensible processor, it is possible to configure instruction sets suitable for applications and to improve a processing speed of the processor. Therefore, the extensible processor is very effective for improving its performance of executing of an application. In the meantime, a compiler for compiling a program written in a high-level language into an object code (machine language) is prepared for each set of processor architecture. Therefore, the extensible processor requires a compiler that corresponds to the user specifications.
A method of using an intrinsic function defined by a user is known as a first related art for compiling a description of an instruction unique to the extensible processor. A method capable of optimizing a program description for executing a processing operation equivalent to a processing operation using an intrinsic function, into machine language corresponding to the intrinsic function, without expressly calling the intrinsic function has been disclosed as a second related art.
However, in terms of the second background art described above, a compiler can detect a statement for executing the processing operation equivalent to the processing operation using the intrinsic function, and replace a result of detection with a single instruction, but the compiler cannot replace the result of detection with multiple instructions. Although it is possible to deal with such a problem by rewriting a source program, there is a risk of low readability resulted from maintenance of portability. Therefore, it has been impossible to take full advantage of the extensible processor and to efficiently advance program developments.